﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;
using Telerik.WinControls.UI;
using System.IO;
using Bitis_KeToanThue_Pro_DungChung.Common;
using Bitis_KeToanThue_Pro_DanhMuc.AccessDatabase;

namespace Bitis_KeToanThue_Pro_DanhMuc.Form
{
    public partial class frmDanhMucDonVi : Telerik.WinControls.UI.RadForm
    {
        DanhMucDonVi dmdv = new DanhMucDonVi();
        public static string tendvcu = "";
        public frmDanhMucDonVi()
        {
            InitializeComponent();
        }
        private void khoitaoluoi()
        {
            var xoa = new GridViewCheckBoxColumn();
            xoa.HeaderText = "Chọn";
            xoa.Name = "Xoa";
            xoa.Width = 50;
            xoa.IsVisible = true;
            //xoa.ReadOnly = true;
            xoa.TextAlignment = ContentAlignment.MiddleCenter;
            grvDonVi.Columns.Add(xoa);

            var MaDV = new GridViewTextBoxColumn();
            MaDV.HeaderText = "Mã Đơn Vị";
            MaDV.FieldName = "MaDV";
            MaDV.Width = 100;
            MaDV.IsVisible = true;
            MaDV.ReadOnly = true;
            MaDV.TextAlignment = ContentAlignment.MiddleCenter;
            grvDonVi.Columns.Add(MaDV);

            var TenDV = new GridViewTextBoxColumn();
            TenDV.HeaderText = "Tên Đơn Vị";
            TenDV.FieldName = "TenDV";
            TenDV.Width = 345;
            TenDV.IsVisible = true;
            TenDV.ReadOnly = true;
            TenDV.TextAlignment = ContentAlignment.MiddleCenter;
            grvDonVi.Columns.Add(TenDV);

        }

        private void reset()
        {
            txtTimKiem.Text="";
            txtTenDV.Text="";
            txtMaDV.Text = "";
        }

        private void loadluoi()
        {
            this.grvDonVi.DataSource = dmdv.loadluoi();
         }
        private void frmDanhMucDonVi_Load(object sender, EventArgs e)
        {
            khoitaoluoi();
            loadluoi();
        }

        private void radButton1_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void btSoanLai_Click(object sender, EventArgs e)
        {
            reset();
        }

        private void txtTimKiem_TextChanged(object sender, EventArgs e)
        {
            ClassXuLyChung.tuychontimkiemtrenluoi(txtTimKiem, grvDonVi, 1, 0);
        }

        private void btSua_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtMaDV.Text) && !string.IsNullOrEmpty(txtTenDV.Text))
            {
                if (dmdv.Sua(txtMaDV.Text,txtTenDV.Text) == 1)
                {
                    RadMessageBox.Show("Cập nhật thành công tên phòng đơn vị : " + txtTenDV.Text, "Thông tin", MessageBoxButtons.OK, RadMessageIcon.Info);
                    reset();
                    loadluoi();
                }
                else
                {
                    RadMessageBox.Show(string.Format("Đơn Vị {0} đã tồn tại ", txtTenDV.Text), "Thông báo", MessageBoxButtons.OK, RadMessageIcon.Info);
                }
            }
            else
            {
                RadMessageBox.Show("bạn cần phải nhập đầy đủ thông tin","Thông tin", MessageBoxButtons.OK, RadMessageIcon.Info);
            }
        }

        private void btXoa_Click(object sender, EventArgs e)
        {
            DialogResult kq = RadMessageBox.Show("Bạn có chắc muốn xóa đơn vị này không ? ", "Thông báo", MessageBoxButtons.YesNo, RadMessageIcon.Info);
            if (kq == DialogResult.Yes)
            {
                for (int i = 0; i < grvDonVi.Rows.Count; i++)
                {
                    if(grvDonVi.Rows[i].Cells[0].Value !=null)
                    {
                        bool ischecked = (bool)grvDonVi.Rows[i].Cells[0].Value;
                        if (ischecked == true)
                        {
                            dmdv.Xoa(ClassXuLyChung.GetSafeString(grvDonVi.Rows[i].Cells[1].Value));
                        }
                    }
                }
                RadMessageBox.Show("Xóa Thành Công ", "Thông Báo ", MessageBoxButtons.OK, RadMessageIcon.Info);
                reset();
                loadluoi();
            }
        }

        private void btThem_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtMaDV.Text) && !string.IsNullOrEmpty(txtTenDV.Text))
            {
                if (dmdv.them(txtMaDV.Text, txtTenDV.Text) == 1)
                {
                    RadMessageBox.Show("Lưu thành công", "Thông báo", MessageBoxButtons.OK, RadMessageIcon.Info);
                    reset();
                    loadluoi();
                }
            }
            else
            {
                RadMessageBox.Show("Bạn phải nhập đầy đủ thông tin ", "Thông báo ", MessageBoxButtons.OK, RadMessageIcon.Info);
            }
        }

        private void grvDonVi_CellClick(object sender, Telerik.WinControls.UI.GridViewCellEventArgs e)
        {
            UpdatePanelInfo(this.grvDonVi.CurrentRow);
        }

        private void UpdatePanelInfo(GridViewRowInfo currentRow)
        {
            if (currentRow != null && !(currentRow is GridViewNewRowInfo))
            {
                tendvcu = ClassXuLyChung.GetSafeString(currentRow.Cells["TenDV"].Value);
                txtMaDV.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["MaDV"].Value);


                txtTenDV.Text = ClassXuLyChung.GetSafeString(currentRow.Cells["TenDV"].Value);


            }
            else
            {
                reset();
                tendvcu = "";
            }
        }            

    }
}
